package co.yixiang.yshop.module.order.api.productorder;

import co.yixiang.yshop.module.order.api.productorder.dto.OrderDTO;
import co.yixiang.yshop.module.order.api.productorder.dto.ProductOrderDTO;
import co.yixiang.yshop.module.order.api.productorder.dto.StoreAfterSalesDTO;
import co.yixiang.yshop.module.order.api.productorder.dto.StoreOrderDTO;
import org.springframework.core.annotation.Order;

import java.util.List;
import java.util.Map;

public interface ProductOrderApi {

    ProductOrderDTO getPayParam(String orderId);

    void handleOrder(String orderId, Map<String, String> packageParams);

    void handleWeChatPayNotify(String orderId, Map<String, String> resultMap) throws Exception;

    /**
     * 余额支付
     *
     * @param orderId 订单号
     * @param uid     用户id
     *  @param helpPay     是否为代付
     */
    void yuePay(String orderId, Long uid,Boolean helpPay);

    /**
     * 查询商品的订单数量
     * @param productId /
     * @return /
     */
    Long countOrderByProduct(Long productId);

    /**
     * 订单列表
     * @param uid
     * @param type
     * @return
     */
    List<StoreOrderDTO> orderList(Long uid, int type);

    /**
     * 获取订单详情
     * @param orderId 订单号
     * @return
     */
    OrderDTO getOrderInfo(String orderId);

    /**
     * 获取订单商品名称
     * @param orderId 订单号
     * @return
     */
    String getOrderProductNames(String orderId);

    /**
     * 获取售后订单
     * @param orderId 订单号
     * @return
     */
    StoreAfterSalesDTO getOrderAfterInfo(String orderId);

}
